﻿using System.Windows;
using System.Windows.Media;
using System.Windows.Controls;

namespace Eniux.Windows.Controls.Core.Core
{
    public  class AttachWindow:AttachBase
    {
      #region 附加属性Sys_GripStroke
        //
        // 摘要:
        //     设置WindowBase Grip的Stroke 
        //
      public static readonly DependencyProperty Sys_GripStrokeProperty = DependencyProperty.RegisterAttached("Sys_GripStroke", typeof(Brush), typeof(AttachWindow), null);
      public static void SetSys_GripStroke(DependencyObject element, Brush value)
        {
            element.SetValue(Sys_GripStrokeProperty, value);
        }
      public static Brush GetSys_GripStroke(DependencyObject element)
        {
            return (Brush)element.GetValue(Sys_GripStrokeProperty);
        }
        #endregion

      #region 附加属性Sys_SystemButtonArea
      //
      // 摘要:
      //     设置WindowBase的Sys_SystemButtonArea 
      //
      public static readonly DependencyProperty Sys_SystemButtonAreaProperty = DependencyProperty.RegisterAttached("Sys_SystemButtonArea", typeof(Visibility), typeof(AttachWindow), new PropertyMetadata(Visibility.Visible));
      public static void SetSys_SystemButtonArea(DependencyObject element, Visibility value)
      {
          element.SetValue(Sys_SystemButtonAreaProperty, value);
      }
      public static Visibility GetSys_SystemButtonArea(DependencyObject element)
      {
          return (Visibility)element.GetValue(Sys_SystemButtonAreaProperty);
      }
      #endregion

      #region 附加属性Sys_IsVisibleSystemButtonsArea（系统按钮区是否可见）
      //
      // 摘要:
      //     设置WindowBase的Sys_IsVisibleSystemButtonsArea 
      //
      public static readonly DependencyProperty Sys_IsVisibleSystemButtonsAreaProperty = DependencyProperty.RegisterAttached("Sys_IsVisibleSystemButtonsArea", typeof(Visibility), typeof(AttachWindow), new PropertyMetadata(Visibility.Visible));
      public static void SetSys_IsVisibleSystemButtonsArea(DependencyObject element, Visibility value)
      {
          element.SetValue(Sys_IsVisibleSystemButtonsAreaProperty, value);
      }
      public static Visibility GetSys_IsVisibleSystemButtonsArea(DependencyObject element)
      {
          return (Visibility)element.GetValue(Sys_IsVisibleSystemButtonsAreaProperty);
      }
      #endregion


      #region 附加属性Sys_IsMessageBox
      //
      // 摘要:
      //     设置WindowBase的Sys_IsMessageBox 
      //
      public static readonly DependencyProperty Sys_IsMessageBoxProperty = DependencyProperty.RegisterAttached("Sys_IsMessageBox", typeof(bool), typeof(AttachWindow), new PropertyMetadata(false));
      public static void SetSys_IsMessageBox(DependencyObject element, bool value)
      {
          element.SetValue(Sys_IsMessageBoxProperty, value);
      }
      public static bool GetSys_IsMessageBox(DependencyObject element)
      {
          return (bool)element.GetValue(Sys_IsMessageBoxProperty);
      }
      #endregion

      #region 附加属性Sys_MessageBoxImage
      //
      // 摘要:
      //     设置WindowBase的MessageBoxImage 
      //
      public static readonly DependencyProperty Sys_MessageBoxImageProperty = DependencyProperty.RegisterAttached("Sys_MessageBoxImage", typeof(MessageBoxImage), typeof(AttachWindow), null);
      public static void SetSys_MessageBoxImage(DependencyObject element, MessageBoxImage value)
      {
          element.SetValue(Sys_MessageBoxImageProperty, value);
      }
      public static MessageBoxImage GetSys_MessageBoxImage(DependencyObject element)
      {
          return (MessageBoxImage)element.GetValue(Sys_MessageBoxImageProperty);
      }
      #endregion

      #region 附加属性Sys_MessageBoxButton
      //
      // 摘要:
      //     设置WindowBase的Sys_MessageBoxButton 
      //
      public static readonly DependencyProperty Sys_MessageBoxButtonProperty = DependencyProperty.RegisterAttached("Sys_MessageBoxButton", typeof(MessageBoxButton), typeof(AttachWindow), null);
      public static void SetSys_MessageBoxButton(DependencyObject element, MessageBoxButton value)
      {
          element.SetValue(Sys_MessageBoxButtonProperty, value);
      }
      public static MessageBoxButton GetSys_MessageBoxButton(DependencyObject element)
      {
          return (MessageBoxButton)element.GetValue(Sys_MessageBoxButtonProperty);
      }
      #endregion

      #region 附加属性Sys_MessageBoxResult
      //
      // 摘要:
      //     设置WindowBase的Sys_MessageBoxButton 
      //
      public static readonly DependencyProperty Sys_MessageBoxResultProperty = DependencyProperty.RegisterAttached("Sys_MessageBoxResult", typeof(MessageBoxResult), typeof(AttachWindow), new PropertyMetadata(MessageBoxResult.None));
      public static void SetSys_MessageBoxResult(DependencyObject element, MessageBoxResult value)
      {
          element.SetValue(Sys_MessageBoxResultProperty, value);
      }
      public static MessageBoxResult GetSys_MessageBoxResult(DependencyObject element)
      {
          return (MessageBoxResult)element.GetValue(Sys_MessageBoxResultProperty);
      }
      #endregion

      #region 附加属性Sys_YesButtonContent
      /// <summary>
      /// 获取或设置MessageBox的Yes按钮的内容
      /// </summary>
      public static readonly DependencyProperty Sys_YesButtonContentProperty = DependencyProperty.RegisterAttached("Sys_YesButtonContent", typeof(object), typeof(AttachWindow), new PropertyMetadata("是(_Y)"));
      /// <summary>
      /// 设置MessageBox的Yes按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <param name="value">Yes按钮内容</param>
      public static void SetSys_YesButtonContent(DependencyObject element, object value)
      {
          element.SetValue(Sys_YesButtonContentProperty, value);
      }
      /// <summary>
      /// 获取MessageBox的Yes按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <returns>Yes按钮内容</returns>
      public static object GetSys_YesButtonContent(DependencyObject element)
      {
          return (object)element.GetValue(Sys_YesButtonContentProperty);
      }
      #endregion

      #region 附加属性Sys_NoButtonContent
      /// <summary>
      /// 获取或设置MessageBox的No按钮的内容
      /// </summary>
      public static readonly DependencyProperty Sys_NoButtonContentProperty = DependencyProperty.RegisterAttached("Sys_NoButtonContent", typeof(object), typeof(AttachWindow), new PropertyMetadata("否(_Y)"));
      /// <summary>
      /// 设置MessageBox的No按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <param name="value">No按钮内容</param>
      public static void SetSys_NoButtonContent(DependencyObject element, object value)
      {
          element.SetValue(Sys_NoButtonContentProperty, value);
      }
      /// <summary>
      /// 获取MessageBox的No按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <returns>No按钮内容</returns>
      public static object GetSys_NoButtonContent(DependencyObject element)
      {
          return (object)element.GetValue(Sys_NoButtonContentProperty);
      }
      #endregion

      #region 附加属性Sys_OKButtonContent
      /// <summary>
      /// 获取或设置MessageBox的OK按钮的内容
      /// </summary>
      public static readonly DependencyProperty Sys_OKButtonContentProperty = DependencyProperty.RegisterAttached("Sys_OKButtonContent", typeof(object), typeof(AttachWindow), new PropertyMetadata("确 定"));
      /// <summary>
      /// 设置MessageBox的OK按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <param name="value">OK按钮内容</param>
      public static void SetSys_OKButtonContent(DependencyObject element, object value)
      {
          element.SetValue(Sys_OKButtonContentProperty, value);
      }
      /// <summary>
      /// 获取MessageBox的OK按钮的内容
      /// </summary>
      /// <param name="element">WindowBase对象</param>
      /// <returns>OK按钮内容</returns>
      public static object GetSys_OKButtonContent(DependencyObject element)
      {
          return (object)element.GetValue(Sys_OKButtonContentProperty);
      }
      #endregion

      #region 附加属性Sys_CancelButtonContent
        /// <summary>
        /// 获取或设置MessageBox的Cancel按钮的内容
        /// </summary>
      public static readonly DependencyProperty Sys_CancelButtonContentProperty = DependencyProperty.RegisterAttached("Sys_CancelButtonContent", typeof(object), typeof(AttachWindow), new PropertyMetadata("取 消"));
        /// <summary>
        /// 设置MessageBox的Cancel按钮的内容
        /// </summary>
        /// <param name="element">WindowBase对象</param>
        /// <param name="value">Cancel按钮内容</param>
      public static void SetSys_CancelButtonContent(DependencyObject element, object value)
      {
          element.SetValue(Sys_CancelButtonContentProperty, value);
      }
        /// <summary>
        /// 获取MessageBox的Cancel按钮的内容
        /// </summary>
        /// <param name="element">WindowBase对象</param>
        /// <returns>Cancel按钮内容</returns>
      public static object GetSys_CancelButtonContent(DependencyObject element)
      {
          return (object)element.GetValue(Sys_CancelButtonContentProperty);
      }
      #endregion
    }
}
